/*
 * XMLNode.h
 *
 *  Created on: 16 mars 2011
 *      Author: bmaillot
 */

#ifndef XMLNODE_H_
#define XMLNODE_H_

#include <string>

class XMLElement;
class XMLDocument;

class XMLNode
{
protected:
	XMLDocument* ownerDocument; //TODO implémenter ownerDocument
	XMLElement* parent;
public:
	XMLNode();
	virtual ~XMLNode();

	/**
	* Exporte le noeud sous forme de chaîne de caractère
	*/
	virtual std::string toString() = 0;

	/**
	 * Renvoie le nom du noeuf sous forme de chaîne de caractère
	*/
	virtual std::string getNodeName() = 0;

	/**
	 * Définit le parent du noeud
	 */
	void setParent(XMLElement *parent);
};

#endif /* XMLNODE_H_ */
